iT邦幫忙

2023 iThome 鐵人賽

DAY 12
0
自我挑戰組

Design Pattern - 無所不在的設計模式系列 第 12

[Day12] Design Pattern - Adapter轉接器模式

  • 分享至 

  • xImage
  •  

前言

今天去公司像在野餐一樣
拿了一堆點心🥮,和柚子

定義


The Adapter Design Pattern is a Structural Design Pattern that allows incompatible interfaces (objects) to work together. The Adapter Design Pattern acts as a bridge between two incompatible objects.
Dot net tutorials

轉接器模式是一種結構型模式,它使介面不相容的類別能夠一起工作,就像兩個不相容物件的橋梁一樣~

它通常用來~

轉接器模式通常用來:

  1. 介面不相容性(Interface Incompatibility):
    當你有一個現有的類別,它提供了一個介面,但這個介面與你需要的介面不相容時,可以使用Adapter模式。Adapter將現有類別的介面轉換為符合你需求的新介面。

  2. 重用現有類別(Reusing Existing Classes):
    當你想要重用一個已經存在的類別,但它的介面不符合你的需求時,Adapter模式允許你將這個類別包裝起來,使其能夠與其他代碼協同工作,而不需要修改原有的類別。

  3. 將多個類別整合為一個介面(Integrating Multiple Classes into One Interface):
    有時你可能需要將多個不同的類別整合成一個統一的介面,以簡化客戶端代碼。Adapter模式可以幫助你實現這種整合。

總之,Adapter模式的主要目的是使不相容的介面能夠共同工作,
同時還可以重用現有的程式碼,提高程式碼的可維護性和擴展性。
這個設計模式通常在需要整合不同部分或介面的軟體系統中使用。

UML圖


在上圖中,有三個component

  • Target:代表客戶端希望與之互動的目標介面。它定義了客戶端程式碼可以調用的操作。

  • Adapter:這是Adapter類別,它實現了Target介面,同時包裝了Adaptee類別。它負責將客戶端的請求轉發給Adaptee類別。

  • Adaptee:代表現有的類別或組件,它具有不同的介面。它包含了客戶端代碼需要訪問的功能,但其介面與Target介面不相容。


上一篇
[Day11] Design Pattern - Builder建造者模式
下一篇
[Day13] Design Pattern - Bridge橋接模式
系列文
Design Pattern - 無所不在的設計模式30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言